The present invention relates to methods of information processing in satellite navigation systems with differential positioning of a mobile user.
Satellite navigation systems, such as GPS (USA) and GLONASS (Russia). are intended for high accuracy self-positioning of different users possessing special navigation receivers. A navigation receiver receives and processes radio signals broadcasted by satellites located within line-of-sight distance. The satellite signals comprise carrier signals which are modulated by pseudo-random binary codes, which are then used to measure the delay relative to local reference clock or oscillator. These measurements enable one to determine the so-called pseudo-ranges between the receiver and the satellites. The pseudo-ranges are different from true ranges (distances) between the receiver and the satellites due to variations in the time scales of the satellites and receiver and various noise sources. To produce these time scales, each satellite has its own on-board atomic clock, and the receiver has its own on-board clock, which usually comprises a quartz crystal. If the number of satellites is large enough (more than four), then the measured pseudo-ranges can be processed to determine the user location (e.g. X, Y, and Z coordinates) and to reconcile the variations in the time scales. Finding the user location by this process is often referred to as solving a navigational problem or task.
The necessity to guarantee the solution of navigational tasks with accuracy better than 10 meters, and the desire to raise the stability and reliability of measurements, have led to the development of the mode of xe2x80x9cdifferential navigation rangingxe2x80x9d, also called xe2x80x9cdifferential navigationxe2x80x9d (DN). In the DN mode, the task of finding the user position is performed relative to a Base station (Base), the coordinates of which are known with the high accuracy and precision. The Base station has a navigation receiver which receives the signals of the satellites and processes them to generate measurements. The results of these measurements enable one to calculate corrections, which are then transmitted to the user that also uses a navigation receiver. By using these corrections, the user obtains the ability to compensate for the major part of the strongly correlated errors in the measured pseudo-ranges, and to substantially improve the accuracy of his or her positioning.
Usually, the Base station is immobile during measurements. The user may be either immobile or mobile. Later on, we will call such a user xe2x80x9cthe Rover.xe2x80x9d The location coordinates of a moving Rover are continuously changing, and should be referenced to a time scale.
Depending on the navigational tasks to be solved, different modes of operation may be used in the DN mode. They differ in the way in which the measurement results are transmitted from the Base to the Rover. In the Post-processing (PP) mode, these results are transmitted as digital recordings and go to the user after all the measurements have been finished. In the PP mode, the user reconstructs his or her location for definite moments in the past.
Another mode is the Real-Time Processing (RTP) mode, and it provides for the positioning of the Rover receiver just during the measurements. The RTP mode uses a communication link (usually it is a radio communication link), through which all the necessary information is transmitted from the Base to the Rover receiver in digital form.
Further improvement of accuracy of differential navigation may be reached by supplementing the measurements of the pseudoranges with the measurements of the phases of the satellite carrier signals. If one measures the carrier phase of the signal received from a satellite in the Base receiver and compares it with the carrier phase of the same satellite measured in the Rover receiver, one can obtain measurement accuracy to within several percent of the carrier""s wavelength, i.e., to within several centimeters.
The practical implementation of those advantages, which might be guaranteed by the measurement of the carrier phases, runs into the problem of there being ambiguities in the phase measurements.
The ambiguities are caused by two factors. First, the difference of distances xcex94D from any satellite to the Base and Rover is usually much greater than the carrier""s wavelength xcex. Therefore, the difference in the phase delays of a carrier signal xcex94xcfx86=xcex94D/xcex received by the Base and Rover receivers may substantially exceed one cycle. Second, it is not possible to measure the integer number of cycles in xcex94xcfx86 from the incoming satellite signals, one can only measure the fractional part of xcex94xcfx86. Therefore, it is necessary to determine the integer part of xcex94xcfx86, which is called the xe2x80x9cambiguityxe2x80x9d. More precisely, we need to determine the set of all such integer parts for all the satellites being tracked, one integer part for each satellite. One has to determine this set along with other unknown values, which include the Rover""s coordinates and the variations in the time scales.
In a general way, the task of generating highly-accurate navigation measurements is formulated as follows: it is necessary to determine the state vector of a system, with the vector containing nxcexa3 unknown components. Those include three Rover coordinates (usually along Cartesian axes X, Y, Z) in a given coordinate system (sometimes time derivatives of coordinates are added too); the variations of the time scales which is caused by the phase drift of the local main reference oscillator; and n integer unknown values associated with the ambiguities of the phase measurements of the carrier frequencies. The value of n is determined by the number of different carrier signals being processed, and accordingly coincides with the number of satellite channels actively functioning in the receiver. At least one satellite channel is used for each satellite whose broadcast signals are being received and processed by the receiver. Some satellites broadcast more than one code-modulated carrier signal, such as a GPS satellite which broadcasts a carrier in the L1 frequency band and a carrier in the L2 frequency band. If the receiver processes the carrier signals in both of the L1 and L2 bands, the number of satellite channels (n) increases correspondingly.
Two sets of navigation parameters are measured by the Base and Rover receivers respectively, and are used to determine the unknown state vector. Each set of parameters includes the pseudo-range of each satellite to the receiver, and the full (complete) phase of each satellite carrier signal. Each pseudo-range is obtained by measuring the time delay of a code modulation signal of the corresponding satellite. The code modulation signal is tracked by a delay-lock loop (DLL) circuit in each satellite tracking channel. The full phase of a satellite""s carrier signal is tracked by a phase-lock-loop (PLL) in the corresponding satellite tracking channel. An observation vector is generated as the collection of the measured navigation parameters for specific (definite) moments of time.
The relationship between the state vector and the observation vector is defined by a well-known system of navigation equations. Given an observation vector, the system of equations may be solved to find the state vector if the number of equations equals or exceeds the number of unknowns in the state vector. In the latter case, conventional statistical methods are used-to solve the system: the least squares method, the method of dynamic Kalman filtering, and various modifications of these methods.
Practical implementations of these methods in digital form may vary widely. In implementing or developing such a method on a processor, one usually must find a compromise between the accuracy of the results and speed of obtaining results for a given amount of processor capability, while not exceeding a certain amount of loading on the processor.
The most used general scheme comprises the following steps. The measured values of the pseudo-ranges and full phases at specific (definite) moments of time, along with an indication of the satellites to which these measurements belong to and the time moments of the measurements, are transmitted from the Base to the Rover (such as through the communication link or as recordings). Corresponding values are measured in the Rover receiver. The processing includes the determination of the single differences of the pseudo-ranges and full phases between the Base and Rover measurements for each satellite. The strongly correlated errors are compensated (i.e., substantially cancelled) in the single differences. Then, the residuals of the single differences are calculated by subtraction of calculated values from the measured results. The processing of residuals allows one to linearize the initial system of navigation equations (sometimes several subsequent iterations are necessary for that), which makes possible the use of the well developed body of mathematics for solving systems of linear equations. The components of the state vector, with the n ambiguities included, are found as a result of the solution. But the calculated values of the ambiguities are not necessarily integer numbers, and are often floating point numbers. Because of this, they are called xe2x80x9cfloat ambiguitiesxe2x80x9d, or xe2x80x9cfloating ambiguiticesxe2x80x9d, at this stage of the solution. To find true values of the integer ambiguities one uses the procedure of rounding off the float ambiguity vector to the nearest set of integers. This process is called the ambiguity resolution. Only after the ambiguity resolution has been done is it possible to determine the true values of residuals and then, by solving the system of equation again, to find the coordinate values for the baseline connecting the Base and Rover, and consequently to determine the exact coordinates of Rover and the correction to its clock drift.
The described general scheme of computations is presented in more detail in the literature on satellite navigation. This presentation is the most complete in English in the book by Bradford W. Parkinson and James J. Spilker Jr., Global Positioning Theory and Applications, Volume 163 of Progress In Astronautics and Aeronautics, published by the American Institute of Aeronautics and Astronautics, Inc, Washington D.C., 1996. In Russian, the most complete presentation is in the book Network Satellite Radionavigating Systems, editor V. S. Shebshaevich, 2-nd edition, Publ. House Radio and Communication, Moscow. 1993.
The particular problems connected to the processing of the navigation information are considered in many articles, manuals and patents. Here we will dwell only on some of these problems which directly concern the subjects of the present inventions.
The first problem concerns the task of aligning (or synchronizing) the Base and Rover measurements to the same moment of time. This is a necessary condition for good compensation in the single differences of strongly correlated errors which change with time. The task of aligning can be solved by two ways: the first way, which is called the mode of xe2x80x9cmatched observation processingxe2x80x9d, delays the use of the Rover measurements until the corresponding Base measurements are received. This mode is poorly suited for Rovers in speedy motion, for which the positioning at definite, precisely fixed moments of time is required. The second way, which is called the mode of xe2x80x9clow latency position processingxe2x80x9d, extrapolates the Base measurements forward in time up to the moment of reception of the corresponding Rover measurements. This mode is better suited to the task of generating accurate Rover coordinate at time moments which are arbitrarily chosen by a user or an application program at the Rover location.
In existing systems, different extrapolation methods are used, starting from the elementary linear prediction, which sometimes is sufficient for small prediction times (about several seconds). For longer prediction times (such as between 30 s and 60 s) it is recommended to take into account the statistic characteristics of the processes to be predicted, which mainly depend on the presence of selective access (in the system GPS), and on fluctuations of reference generators on board the satellites and the Base receiver. For such cases, one uses the extrapolation with the help of the Kalman filter. One of the possible variants of such an extrapolation unit is described in the article by J. Neumann, et al. entitled xe2x80x9cTest Results from a New 2 cm Real Time Kinematics GPS Positioning System,xe2x80x9d The Proceedings of the 9-th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS-96), 1996, pp. 873-882. The essential difficulty in applying conventional extrapolation methods is that these methods are not designed for the occurrence of large abnormal errors in measurements which are used to base the predictions. The abnormal errors usually occur when the communication link between the Base and Rover operates in an environment having a large number of buildings and other objects which generate a large number of reflected signals. The signal received by moving Rover frequently fades, and the transmitted information is deformed by noise. To guarantee good predictions, it is necessary to analyze the incoming information and to exclude intervals of time containing abnormal errors. One set of methods for such an analysis is proposed as a first invention of this patent application.
Another problem arising during the solution of a navigation problem using the phase measurements is caused by the possible appearance of cycle slips in the PLL circuits which are tracking the satellite carrier signals. After a cycle slip occurs, the PLL circuit transits to a new point of stead, balance, after which it goes on with tracking the satellite carrier signal. As a result of a cycle slip, an abnormal error equal to several integer number of semi-cycles (half-cycles) is introduced into the full phase measurements. Such an error may make computed position coordinates completely worthless. Sometimes it is possible to detect the appearance of a cycle slip by directly observing the rate of change of the full phase. During a cycle slip, this rate usually jumps in value, and this provides an opportunity to detect the slip. In some cases, it is possible to detect a cycle slip from implicit symptoms and signs. For example, a cycle slip is often accompanied with a deep fading of the signal amplitude, and the occurrence of the slip can be detected by detecting the fading of the signal. However, such a method of cycle slip detection does not have sufficient reliability. The characteristics of the slip process, as well as the reasons causing it, are very variable. There exist slow slips where the rate of the phase change differs only slightly from the usual rate of phase chance due to the Rover""s movement, and correspondingly, the cycle slip often cannot be detected b this symptom. The amplitude fading does not always coincide with the cycle slip appearance either. When measurements from a large number of satellite channels are used, it is possible to identify the channels for which the measurement results strongly differ from predictions made on the basis of data from other channels, and thereby to detect the slip. However, a substantial increase in the volume of calculations might be necessary to determine which set of channels have generated bad measurements. In addition, the sufficient amount of redundancy is often lacking. If the slip is nevertheless detected, it is necessary to make a decision on how to react to the slip. Thus, for example, if the number of active satellite channels is large enough, it is possible to exclude the channel for which the cycle slip is detected from further consideration. One may also act differently: having waited until the completion of the slip, one can resolve the ambiguity of phase measurements anew, with the affected channel included. For that it would be necessary to spend some time during which the generation of highly-accurate coordinates would stop, which is sometimes extremely undesirable.
The correction for the cycle slip immediately after its completion would be the best solution; but to do so, one has to measure the sign and value of the cycle slip. One of the methods to correct the phase slip was proposed by Isomura in U.S. Pat. No. 5,502,641. The following steps were proposed in that method:
1. Recording the time moment at which a satellite carrier signal first disappears, and determining the rate of change in the carrier""s full phase during the time period just before the disappearance: this rate of change is called the xe2x80x9cinitial rate of changexe2x80x9d;
2. Recording the time moment at which the satellite carrier signal reappears and determining the rate of change in the carrier""s full phase just after the reappearance: this rate of chance is called the xe2x80x9cfinal rate of changexe2x80x9d;
3. Calculating a predicted value of the full phase at the time moment of its reappearance based on the initial and final values of the rate of change, and on the measured value of the full phase before the signal disappearance;
4. Comparing the predicted value with the value of the full phase measured accumulated by the tracking channel at the time of the signal""s reappearance. If these values differ by more than a semi-cycle (half-cycle), one may assume that a cycle slip took place and take the corresponding correction.
We must note the fact that this method would give satisfactory results only in cases when the Rover does not change its velocity during the disappearance of the satellite carrier signal. We also point out that when a satellite signal is blocked from the receiver""s antenna, the satellite signal can be reflected off of a nearby object or the ground and reach the antenna by a different path as a reflected signal. If this occurs, cycle slips may occur because of the difference in path lengths, and the Isomura method may not detect the slips because the method may not see the disappearance of the direct satellite signal. A second invention of the present application is directed to apparatuses and methods of cycle-slip detection which are based on a set of specific symptoms of the cycle slip, and therefore have higher reliability for Rover""s making fast maneuvers.
A third problem relating to the solution of a navigation problem using the phase measurements concerns the ambiguity resolution stage. As it was already noted, the first part of this stage comprises the step of obtaining sufficiently accurate estimates of the float ambiguities. Typical computational methods for this task provide for the gradual accumulation of information that depends on the number and locations of the satellites, and correspondingly, the accuracy of estimation of the float ambiguities increases with time due to the smoothing of fluctuations in the measurements, and due to the geometry change in the satellite constellation.
A substantial number of works have been published that considered computational procedures for obtaining, the float ambiguity estimations with sufficient accuracy in the shortest possible time. The computational speed of the processor used imposes the natural limitations here. That is why one tries to lower the loading on the processor, sometimes even to the detriment of accuracy.
Several of the publications use computations based upon Kalman filtering. The previously-mentioned article by J. B. Neumann, et al., (ION GPS-96) describes a Kalman filter method which simultaneously estimates the coordinates of the baseline and the floating ambiguities. The estimations are generated with delay after the corresponding measurements of the Base station have been received by the Rover. In the article entitled xe2x80x9cInstant RTK cm with Low Cost GPS+GLONASS(trademark) C/A Recieversxe2x80x9d by D. Kozlov and M. Tkachenko, in The Proceedings of the 10-th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS-97), 1997, pp. 1559-1569, a method of generating the Kalman filter that provides the separate smoothing of float ambiguity estimates was considered. Various different methods for improving or simplifying the numerical computations have been proposed in several issued patents. In U.S. Pat. No. 4,812,991 to R. R. Hatch, it was proposed to smooth the code measurements by increments of the phase measurements separately for each satellite. After that smoothing, the baseline vector is estimated by the least squares method which uses the smoothed values of the pseudo-ranges. The method allows one to diminish the processor load substantially as it completely omits the step of ambiguity resolution. But this is achieved at the expense of a substantial decrease in the positioning accuracy. A similar idea of smoothing was used in the U.S. Pat. No. 5,451,964 to B. A. Babu. et al. Here the code measurements smoothing allows one to decrease the search zone for the integer ambiguity vector and, as a result, to reduce the time to find the correct resolution. A third invention of the present application is directed to methods which smooth the floating ambiguity estimates by a recurrent least squares method which is applied simultaneously and jointly to all of the satellite channels. It enables one to accelerate the obtaining of reliable integer ambiguities at an acceptable processor load.
The present application discloses three general invention areas (methods and apparatuses therefor), each of which pertains to the navigation parameters (pseudorange and full phase) with the object of determining the baseline coordinates in the system of differential satellite navigation with greater and more reliable accuracy. The three inventions are preferably used together, but may be used separately, if desired. As a basis for practicing the inventions, the navigation parameters are measured by a receiver situated at a Base station (also called the reference station). and by a Rover receiver, which is usually mobile. The coordinates of the Base receiver are known exactly. The coordinates of the Rover receiver are estimated relative to Base receiver. The coordinates of the Base receiver are typically transmitted to the Rover through the communication links. However, post-processing of the measurements by the inventions may be performed at a subsequent time, either at the Rover location or the Base location, or another location. The processing processor and the user of navigation information are both typically situated at the Rover receiver. However, this is not necessarily the case if one wishes to use the inventions in a post-processing mode.
The first invention relates to the extrapolation of measurements from the Base station, the second invention relates to the detection and correction of cycle slips in the PLL circuits of one or both of the Base and Rover receivers, and the third invention relates to the computation of the floating ambiguity estimates. These inventions enable one to improve the accuracy, reliability and efficacy of the determination of relative position using differential navigation measurements.
Each of the inventions relates to one of a number of general stages that are used to generate accurate baseline coordinates to the Rover by differential navigation. The three general stages implemented by the three inventions of this application are intermediate stages in the overall process of computing the coordinates of the baseline. The subsequent processing stages comprise the integer ambiguity resolution stage, the stage of computing the baseline coordinates, and the stage of correcting the time scale. These subsequent stages are implemented according to well-known methods described in the literature. A detailed description of these well-known methods in this application is not needed for one of ordinary skill in the art to make and use the present inventions.
The first invention related to extrapolation takes into account abnormal and anomalous errors in the measurements of the navigation parameters made by the Base receiver and computes the predicted values for the Rover receiver only on the basis of reliable measurements from the Base receiver.
The second invention related to cycle slip detection and correction is based upon the system of the measurement of cycle mismatch in a multi-loop tracking system which tracks the Rover movement with the signals from several of the visible satellites. The channel where the cycle slip took place is detected from the mismatch value, and the corresponding correction is introduced. The method provides for switching off channels with the abnormal or anomalous errors, which prevents their influence upon the measurement results. The third invention related to estimations of the floating (ambiguities comprises recurrent procedures which are based upon the joint processing by a least-squares method of the set of code and phase measurements in all satellite channels. The third invention provides the gradual smoothing of errors of those components of the state vector which remain constant, and achieves the necessary accuracy in a relatively short time and at a tolerable processor load.
Some embodiments of these inventions also employ the joint tracking loops for jointly tracking the phases of the satellite carrier signals which are described in our co-pending patent application Ser. No. 09/330,221, filed Jun. 10, 1999, entitled xe2x80x9cThe Joint Tracking of the Carrier Phases of the Signals Received from Different Satellitesxe2x80x9d, assigned to the assignee of the present application and incorporated herein by reference, and claiming priority to the earlier provisional patent application serial No. 60/091,004. filed Jun. 10, 1998, incorporated herein by reference. As a brief summary, the joint tracking loops generate correction signals to many or all of the PPL circuits which account for events which affect the tracking the PLL circuits in a common manner. These are called xe2x80x9ccommon events.xe2x80x9d Such common events include the drift in the receiver""s clock and the movement of the receiver""s position. When the satellite signal tracked by a PLL circuit is temporarily blocked, the correction signal for that PLL circuit enables the PLL circuit to adjust its phase to account for the phase changes caused by common events that occur during the blockage. As a result, the number of cycle slips that could occur during a blockage of the satellite signal is reduced. While the use of the joint tracking loops provides many benefits, is it not necessary for one to make, use, and practice the inventions disclosed in this application.